CodeIgniter-এ ফর্মের ভ্যালিডেশন ত্রুটি (Form Errors) এবং সফল বার্তা (Success Messages) প্রদর্শনের জন্য বিল্ট-ইন ফিচার রয়েছে। এই বার্তাগুলো ব্যবহারকারীদের ইনপুট ফর্মের সঠিকতা যাচাই এবং সঠিক কার্যক্রম নিশ্চিত করতে সহায়ক।
CodeIgniter-এ ফর্ম ভ্যালিডেশন পরিচালনা করতে Validation
লাইব্রেরি ব্যবহার করা হয়। এই লাইব্রেরি ফর্ম ইনপুট যাচাই করতে এবং প্রয়োজনীয় ত্রুটি বার্তা প্রদর্শন করতে সক্ষম।
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
class FormController extends Controller {
public function submit() {
$validation = \Config\Services::validation();
// ফর্মের নিয়ম সংজ্ঞায়িত
$rules = [
'username' => 'required|min_length[5]',
'email' => 'required|valid_email',
'password' => 'required|min_length[8]'
];
if ($this->request->getMethod() === 'post') {
if (!$this->validate($rules)) {
// ত্রুটি বার্তা দেখানো
return view('form_view', ['validation' => $validation]);
} else {
// সফল বার্তা দেখানো
session()->setFlashdata('success', 'Form submitted successfully!');
return redirect()->to('/form');
}
}
return view('form_view');
}
}
View ফাইলের মধ্যে ভ্যালিডেশন ত্রুটি বার্তা প্রদর্শনের জন্য নিচের কোড ব্যবহার করুন:
<?php if (isset($validation)): ?>
<div class="alert alert-danger">
<?= $validation->listErrors() ?>
</div>
<?php endif; ?>
<div>
<label for="username">Username</label>
<input type="text" name="username" value="<?= set_value('username') ?>">
<small class="text-danger"><?= $validation->getError('username') ?></small>
</div>
<div>
<label for="email">Email</label>
<input type="email" name="email" value="<?= set_value('email') ?>">
<small class="text-danger"><?= $validation->getError('email') ?></small>
</div>
<?php if (session()->getFlashdata('success')): ?>
<div class="alert alert-success">
<?= session()->getFlashdata('success') ?>
</div>
<?php endif; ?>
app/Views/form_view.php
<!DOCTYPE html>
<html>
<head>
<title>Form Validation</title>
</head>
<body>
<h1>Registration Form</h1>
<!-- ত্রুটি বার্তা -->
<?php if (isset($validation)): ?>
<div class="alert alert-danger">
<?= $validation->listErrors() ?>
</div>
<?php endif; ?>
<!-- সফল বার্তা -->
<?php if (session()->getFlashdata('success')): ?>
<div class="alert alert-success">
<?= session()->getFlashdata('success') ?>
</div>
<?php endif; ?>
<!-- ফর্ম -->
<form action="/form/submit" method="post">
<?= csrf_field() ?>
<div>
<label for="username">Username</label>
<input type="text" name="username" value="<?= set_value('username') ?>">
<small class="text-danger"><?= $validation->getError('username') ?></small>
</div>
<div>
<label for="email">Email</label>
<input type="email" name="email" value="<?= set_value('email') ?>">
<small class="text-danger"><?= $validation->getError('email') ?></small>
</div>
<div>
<label for="password">Password</label>
<input type="password" name="password">
<small class="text-danger"><?= $validation->getError('password') ?></small>
</div>
<button type="submit">Submit</button>
</form>
</body>
</html>
set_value('field_name')
ফর্ম পুনরায় লোড হলে ফিল্ডে পূর্বের ইনপুট মান প্রদর্শন করে।
getError('field_name')
নির্দিষ্ট ইনপুট ফিল্ডের ত্রুটি বার্তা প্রদর্শন করে।
listErrors()
সব ত্রুটি একসাথে তালিকাভুক্ত করে দেখায়।
session()->setFlashdata('key', 'value')
একটি সাময়িক বার্তা সংরক্ষণ করে।
session()->getFlashdata('key')
সেট করা বার্তা পুনরায় রেন্ডার করে।
CodeIgniter-এ ফর্ম ভ্যালিডেশন এবং বার্তা প্রদর্শন একটি সহজ এবং কার্যকর পদ্ধতি। Form Errors ব্যবহারকারীদের ইনপুটের ত্রুটি সংশোধন করতে সাহায্য করে এবং Success Messages সফল কাজের জন্য তাদের নিশ্চিত করে। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।